package com.cgnpc.scp.hse.mybatis.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.cgnpc.scp.common.utils.DateUtil;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.util.Date;
import java.util.List;

@TableName(value = "tbl_hse_commoncheckoptionsconfig")
public class HseCommonCheckOptionsConfig {

    /**
     * meeting_type 会议类型；值1班前会；2工前会；<br>
     * 班前会: Pre shift meeting<br>
     */
    public static final String MEETING_TYPE_1_PRE_SHIFT_MEETING = "hseOptionConfig-10002";

    /**
     * meeting_type 会议类型；值1班前会；2工前会；<br>
     * 工前会: Pre_job_briefing<br>
     */
    public static final String MEETING_TYPE_2_PRE_JOB_BRIEFING = "hseOptionConfig-10001";

    @TableId
    private String id;

    private String parentId;

    private Integer orderIndex;

    private String optionText;

    private String optionTextEn;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    private String createUser;

    private String createUserName;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date lastUpdateTime;

    private String lastUpdateUser;

    private String lastUpdateUserName;

    private String optionValue;

    private Integer needInspection;

    // begin 自定义字段
    @TableField(exist = false)
    private List<HseCommonCheckOptionsConfig> children;
    @TableField(exist = false)
    private List<String> idList;
    // end 自定义字段

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id == null ? null : id.trim();
    }

    public String getParentId() {
        return parentId;
    }

    public void setParentId(String parentId) {
        this.parentId = parentId == null ? null : parentId.trim();
    }

    public Integer getOrderIndex() {
        return orderIndex;
    }

    public void setOrderIndex(Integer orderIndex) {
        this.orderIndex = orderIndex;
    }

    public String getOptionText() {
        return optionText;
    }

    public void setOptionText(String optionText) {
        this.optionText = optionText == null ? null : optionText.trim();
    }

    public String getOptionTextEn() {
        return optionTextEn;
    }

    public void setOptionTextEn(String optionTextEn) {
        this.optionTextEn = optionTextEn == null ? null : optionTextEn.trim();
    }

    public Date getCreateTime() {
        return DateUtil.cloneNewDate(createTime);
    }

    public void setCreateTime(Date createTime) {
        this.createTime = DateUtil.cloneNewDate(createTime);
    }

    public String getCreateUser() {
        return createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser == null ? null : createUser.trim();
    }

    public String getCreateUserName() {
        return createUserName;
    }

    public void setCreateUserName(String createUserName) {
        this.createUserName = createUserName == null ? null : createUserName.trim();
    }

    public Date getLastUpdateTime() {
        return DateUtil.cloneNewDate(lastUpdateTime);
    }

    public void setLastUpdateTime(Date lastUpdateTime) {
        this.lastUpdateTime = DateUtil.cloneNewDate(lastUpdateTime);
    }

    public String getLastUpdateUser() {
        return lastUpdateUser;
    }

    public void setLastUpdateUser(String lastUpdateUser) {
        this.lastUpdateUser = lastUpdateUser == null ? null : lastUpdateUser.trim();
    }

    public String getLastUpdateUserName() {
        return lastUpdateUserName;
    }

    public void setLastUpdateUserName(String lastUpdateUserName) {
        this.lastUpdateUserName = lastUpdateUserName == null ? null : lastUpdateUserName.trim();
    }

    public String getOptionValue() {
        return optionValue;
    }

    public void setOptionValue(String optionValue) {
        this.optionValue = optionValue == null ? null : optionValue.trim();
    }

    public Integer getNeedInspection() {
        return needInspection;
    }

    public void setNeedInspection(Integer needInspection) {
        this.needInspection = needInspection;
    }

    public List<HseCommonCheckOptionsConfig> getChildren() {
        return children;
    }

    public void setChildren(List<HseCommonCheckOptionsConfig> children) {
        this.children = children;
    }

    public List<String> getIdList() {
        return idList;
    }

    public void setIdList(List<String> idList) {
        this.idList = idList;
    }
}